home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / qbdate.arc / DATEDEMO.BAS < prev    next >
BASIC Source File  |  1987-02-22  |  4KB  |  134 lines

  1. '===========================================================================
  2. '       Program Name : "DATEDEMO.BAS"   Benchmark Software Corp.
  3. '       Date Created :  02/21/1987
  4. '       Description  :  Uses for DATE2INT & INT2DATE
  5. '===========================================================================
  6. OPTION BASE 0
  7. NUM%=0'                         Initialize variables
  8. DAY%=0
  9. DAT$=Space$(10)
  10.  
  11. CLS
  12. '----------------------------------------------------
  13. PRINT "Example #1 - Simple Date Validation"
  14. EX1:
  15.     INPUT "Enter date : ";DAT$
  16.     CALL DATE2INT(DAT$,NUM%,DAY%)
  17.     IF DAY%<0 THEN PRINT "Invalid Date!":GOTO EX1
  18.     DATE1$=DAT$:NUM1=NUM%
  19.     PRINT "Valid Date Entered !"
  20.     PRINT
  21.     PRINT
  22.  
  23. '----------------------------------------------------
  24. PRINT "Example #2 - Difference Between Dates"
  25. EX2:
  26.     INPUT "Enter 1st date : ";DAT$
  27.     CALL DATE2INT(DAT$,NUM%,DAY%)
  28.     IF DAY%<0 THEN PRINT "Invalid Date!":GOTO EX2
  29.     DATE1$=DAT$:NUM1=NUM%
  30. EX22:
  31.     INPUT "Enter 2nd date : ";DAT$
  32.     CALL DATE2INT(DAT$,NUM%,DAY%)
  33.     IF DAY%<0 THEN PRINT "Invalid Date - Re-Enter !":GOTO EX22
  34.     DATE2$=DAT$:NUM2=NUM%
  35.  
  36.     PRINT
  37.     PRINT DATE1$;" = ";NUM1
  38.     PRINT DATE2$;" = ";NUM2
  39.     PRINT "---------------------------"
  40.     PRINT "Difference =";ABS(NUM1-NUM2)
  41.     PRINT
  42.     PRINT
  43.  
  44. '----------------------------------------------------
  45. PRINT "Example #3 - Calculate a 2nd date a number of days from a 1st date"
  46. EX3:
  47.     INPUT "Enter date : ";DAT$
  48.     CALL DATE2INT(DAT$,NUM%,DAY%)
  49.     IF DAY%<0 THEN PRINT "Invalid Date!":GOTO EX3
  50.     DATE1$=DAT$:NUM1=NUM%
  51.  
  52.     INPUT "Enter a number of days : ";NDAYS%
  53.  
  54.     NUM%=NUM1+NDAYS%
  55.     DAT$=SPACE$(10)
  56.     CALL INT2DATE(DAT$,NUM%,DAY%)
  57.  
  58.     PRINT
  59.     PRINT DATE1$;" = ";NUM1
  60.     PRINT DAT$;" = ";NUM%
  61.     PRINT "---------------------------------------------"
  62.     PRINT "The date";NDAYS%;"days from ";DATE1$;" is ";DAT$
  63.     PRINT
  64.     PRINT
  65.  
  66. '----------------------------------------------------
  67. PRINT "Example #4 - Convert an integer to date (3 formats)"
  68. EX4:
  69.     INPUT "Enter an integer value : ";NUM%
  70.     DAT$=SPACE$(8)
  71.     CALL INT2DATE(DAT$,NUM%,DAY%)
  72.     PRINT DAT$
  73.     IF DAY%=-1 THEN PRINT "WARNING - Not the 20th century !"
  74.     DAT$=SPACE$(10)
  75.     CALL INT2DATE(DAT$,NUM%,DAY%)
  76.     PRINT DAT$
  77.     DAT$=SPACE$(18)
  78.     CALL INT2DATE(DAT$,NUM%,DAY%)
  79.     PRINT DAT$
  80.     PRINT
  81.     PRINT
  82.  
  83. '----------------------------------------------------
  84. PRINT "Example #5 - Determine the day-of-week for a date"
  85.  
  86. DATA  "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"
  87. DIM DAYOFWEEK$(7)
  88. FOR X%=0 TO 6
  89.     READ DAYOFWEEK$(X%)
  90. NEXT
  91.  
  92. EX5:
  93.     INPUT "Enter a date : ";DAT$
  94.     CALL DATE2INT(DAT$,NUM%,DAY%)
  95.     IF DAY%<0 THEN PRINT "Invalid Date!":GOTO EX5
  96.     PRINT DAT$;" falls on a ";DAYOFWEEK$(DAY%)
  97.     PRINT
  98. EX55:
  99.     INPUT "Enter an integer value : ";NUM%
  100.     DAT$=SPACE$(10)
  101.     CALL INT2DATE(DAT$,NUM%,DAY%)
  102.     IF DAY%<0 THEN PRINT "Invalid Date!":GOTO EX55
  103.     PRINT DAT$;" falls on a ";DAYOFWEEK$(DAY%)
  104.     PRINT
  105.     PRINT
  106.  
  107. '----------------------------------------------------
  108. PRINT "Example #6 - Set the range of date input"
  109. EX6:
  110.     PRINT "The system date is set to   :  ";DATE$
  111.     DAT$=DATE$
  112.     CALL DATE2INT(DAT$,NUM%,DAY%)
  113.     NUM1=NUM%
  114. EX66:
  115.     INPUT "Enter a date within 30 days : ";DAT$
  116.     CALL DATE2INT(DAT$,NUM%,DAT%)
  117.     IF DAY%<0 THEN PRINT "Invalid Date!":GOTO EX66
  118.     IF NUM%>NUM1+30 OR NUM%<NUM1 THEN PRINT "Out of range !":GOTO EX66
  119.     PRINT DAT$;" is within 30 days of ";DATE$
  120.     PRINT
  121.  
  122. '----------------------------------------------------
  123. PRINT "Example #7 - Determine if system date is set"
  124. EX7:
  125.     DAT$=DATE$
  126.     CALL DATE2INT(DAT$,NUM%,DAY%)
  127.     DAT$=SPACE$(18)
  128.     CALL INT2DATE(DAT$,NUM%,DAY%)
  129.     PRINT "Today is ";DAT$
  130.     IF NUM%=0 THEN PRINT "The system date is not set !"
  131.     PRINT
  132. END
  133.  
  134.